#ifndef RenderModelManager_h__
#define RenderModelManager_h__

#include "RenderModel.h"

class RenderModelManager {
public:
    virtual ~RenderModelManager() {}

    virtual void        Init() = 0;
    virtual void        Shutdown() = 0;

    virtual RenderModel*    AllocModel() = 0;

    virtual RenderModel*    GetModelFromFile( const char* fileName ) = 0;
    virtual RenderModel*    GenerateStaticModel( genType_t type ) = 0;

    virtual RenderModel*    FindModel( const char* modelName ) = 0;
    virtual bool            CheckModel( const char* modelName ) = 0;

    virtual void            ReloadModels( bool forceAll = false ) = 0;
};

extern RenderModelManager*  modelManager;

#endif // RenderModelManager_h__